From 142473cfce41a565898e0fa33dc98a1f5e41abe4 Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Thu, 25 Jun 2015 14:57:04 +0200 Subject: [PATCH] x86/traps: avoid using current too early on boot Early on boot, current has the sentinel value 0xfffff000. Blindly using it in show_registers() causes a nested failure and no useful information printed from an early crash. Signed-off-by: Andrew Cooper --- xen/arch/x86/x86_64/traps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c index 117a133b7f..61bd05347e 100644 --- a/xen/arch/x86/x86_64/traps.c +++ b/xen/arch/x86/x86_64/traps.c @@ -86,7 +86,7 @@ void show_registers(const struct cpu_user_regs *regs) struct cpu_user_regs fault_regs = *regs; unsigned long fault_crs[8]; enum context context; - struct vcpu *v = current; + struct vcpu *v = system_state >= SYS_STATE_smp_boot ? current : NULL; if ( guest_mode(regs) && has_hvm_container_vcpu(v) ) { -- 2.30.2